Multi-player game system

ABSTRACT

A multi-player video game server includes a player control interface, a video interface, and a game engine. The player interface couples the game server to a network and can receive game control data over the network from multiple players. Each player has a game control device at which game control data can be input. The video interface couples the game server to a video transmission network and transmits game display video over the video transmission network. The game engine is coupled to the player interface and the video interface and includes a processor and a memory. The memory stores multi-player video game instructions that configure the processor to process game control data and render the game display video that is then provided to the video interface for transmission over a video network. A multi-player video gaming method includes receiving a number of player input data connections at a game server. Each of the game control data stream includes player input data from a different player of a multi-player video game. An output display image is generated at the game server by executing video game instructions to process the player input data connections from the multiple players as inputs to the same multi-player game. The output display image is then transmitted over a channel of a video transmission network.

BACKGROUND OF THE INVENTION

[0001] Video game are a popular entertainment activity that players canengage in through the use of a dedicated video game console or apersonal computer. Game consoles and personal computers can be used toreceive input from an attached game pad, keyboard, joystick or othergame controller, process video game software, and display video gameimages on a connected television or monitor. Video game consoles andpersonal computers also can be used for multi-player games. Multi-playergames typically require each player to use different game controllersattached to the same game console or computer. Multi-player game systemscan also be implemented using game consoles or computers that send datato each other over a network or modem connection. In these multi-playersystems, each of the multiple players are required to have compatiblelocal video game consoles and/or home computer, and local copies ofparticular game software to play games with each other. Multi-playervideo games may, however, be more conveniently provided to players by asystem in which the players do not require local game consoles, homecomputers, or other specialized devices.

SUMMARY OF THE INVENTION

[0002] In general, in one aspect, the invention features a multi-playervideo game server. The video game server includes a player interface, avideo interface, and a game engine. The player interface couples thegame server to a network and can receive game control data over thenetwork from multiple players. Each player has a game control deviceused to input game control data. The video interface couples the gameserver to a video transmission network and transmits game display videoover the video transmission network. The game engine is coupled to theplayer interface and the video interface and includes a processor and amemory. The memory stores multi-player video game instructions thatconfigure the processor to process game control data and render the gamedisplay video that is then provided to the video interface fortransmission over a video network.

[0003] In general, in another aspect, the invention features amulti-player video gaming method. The method includes receiving a numberof player input data connections at a game server. Each of the gamecontrol data stream includes player input data from a different playerof a multi-player video game. An output display image is generated atthe game server by executing video game instructions to process theplayer input data connections from the multiple players as inputs to thesame multi-player game. The output display image is then transmittedover a channel of a video transmission network.

[0004] In general, in another aspect, the invention features a methodfor providing a multi-player video game. The method includes receivingplayer input data at a game control device and transmitting the playerinput data over a network to a game server. The method also includesreceiving a video game image at a video terminal that was generated atthe game server in response to the player input data from the gamecontrol device and player input data from another game control device.

[0005] Implementations may include one or more of the followingfeatures. The output display image (i.e., the game display video image)may be divided into different subdivisions each of which is associatedwith a different one of the players. The player input data may betouch-tone (i.e., dual-tone multi-frequency (DTMF)) data that is inputby the players using telephone keypads. The transmitted output displayimage may be receivable by both players and an audience of non-players.The same output display image may be sent to all players of themulti-player game, or the game engine may generate different outputdisplay images for different players; the different output displayimages may be transmitted over different channels of the videotransmission network. The game server may support more than onemulti-player game (i.e., the game server may receive player input dataconnections from a second group of players and send output displayimages to that second group that are generated based on the game controldata received from those players). The video game instructions fordifferent multi-player games may be executing at different game engines.The game engines may include commercially available (mass-market) videogame hardware such as Sony Playstation®, Nintendo® or Sega® video gamehardware. The game control streams may be received over a network thatis different from the video transmission network. For example, the gamecontrol streams may be received over a point-to-point telephone networkor a packet data network, while the video may received over a broadcastvideo network. The video transmission network may be a one-way videotransmission network that can transmit video on multiple channels, andeach channel may be receivable at multiple display terminals.

[0006] The details of one or more embodiments of the invention are setforth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the invention will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a block diagram of a video game system.

[0008]FIG. 2 is a block diagram of a game control data interface.

[0009]FIG. 3 is a block diagram of a video network interface.

[0010]FIG. 4 is a block diagram of a game controller network interface.

[0011]FIG. 5 is an output display having four quadrants.

DETAILED DESCRIPTION OF THE INVENTION

[0012]FIG. 1 shows a system 100 for multi-player video games. The systemlets players take part in multi-player video games using gamingequipment 111-113 that includes a game controller 117-119 and atelevision or other video display terminal 114-116. The controllers111-113 and display terminals 114-116 are coupled, respectively, over adata network 150 and a video transmission 140 network to a video gameserver 130. The video game server processes data from the controllers(“player input data”) and generates video game images that are viewed bythe players.

[0013] To communicate player input data to the server 130, dataconnections are established through network 150 between the controllers117-119 and the game server 130. The way in which the data connectionsare established will depend on the type of controller 117-119, network150, and server 130 technology implemented in the system 100.

[0014] In a telephone handset controlled system, the controllers 117-119can include telephone handsets that transmit touch-tone signals (i.e.,dual-tone multi-frequency (DTMF) signals) through a voice phone network150 to a telephone network interface 132 at the game server. Players cancontrol a game from a telephone handset by entering digits on thetelephone's keypad. In some implementations, the game server also maysend synthesized voice or other sounds back to the players by means oftheir telephone handsets. For example, interface 132 may include voicesynthesis circuitry to communicate operating instructions to players.Other types of controllers (e.g., joysticks, game pads, keyboards, andmice) also can be constructed with analog telephone interface circuitryenabling them to send DTMF signals over a phone network. For example,referring to FIG. 4, a joystick, keyboard, mouse and/or other controller410 can be coupled to analog telephone interface circuitry 400. Theanalog telephone interface circuitry 400 can include circuitry 401 tomap controller 410 inputs onto one or more telephone keypad symbols(0-9, *, and #), circuitry 402 to generate DTMF tones, and circuitry 403providing an electrical interface to an analog telephone network 150.Thus, different inputs from a controller 410 can activate DTMF tonegeneration circuitry 402 in much the say way as telephone keypad buttonsclose switches to activate DTMF tone generation circuitry.Implementations also can use controllers 117-119 that communicate bysending binary data over network 150. In a digital controllerimplementation, circuitry 401-403 can be replaced by interface 401 tothe controller(s) 410, a microcontroller or other programmable processor402 and a modem or other network interface 403. For example, a gamecontroller may send digital data to the game server 130 using a modem403 to communicate through a telephone network 150. Interface 403 alsocan be a digital subscriber line interface to connect to a packet-basednetwork such as the Internet or another digital connections (e.g.,Ethernet, token ring, IEEE 802.11). Circuitry 400 and controller(s) 410can be implemented using a personal computer with a connected inputdevice and network connection.

[0015] Player input data (i.e., data derived from player input atcontrollers 117-118) is sent through the network 150 to a player datainterface 132 at the game server 130. Different types of data interfaces132 can be used depending on the controller 117-119 and network 150technology used in a game system 100. FIG. 2 shows additional details ofa player data interface 132. The interface 132 includes networkinterface circuitry 201 that terminates communication signals from thenetwork 150. In game systems 100 in which the network 150 is a analogphone network, the interface 201 may be a modem bank with a telephonenetwork twisted wire pair or trunk interface (e.g., a T1 trunkinterface). A modem bank can include circuitry that provides for bothDTMF signal detection and the demodulation of binary data from anothermodem. Thus, a modem bank based interface 201 may be used to detect DTMFsignals from DTMF-based controllers (e.g., analog telephone handsets)and binary data from controllers 117-119 that communicate digitized datausing a modem. Interface 201 also can be a digital interface to apacket-based network 150. For example, interface 201 can be a routerconnecting server 130 to the Internet or to a local area network 150.

[0016] Prior to sending player input data through the network 150, adata connection is established between a player's controller 117-119 andthe interface 132. In the case of an interface 132 connected to a voicetelephone network 150, a data connection may be established by dialing atelephone number assigned to the interface 132. In the case ofpacket-based networks 150, the data connection may be established usingan network address of the interface 132 in a data frame header. After aplayer input data connections is established, player input data fromthat connection is associated with a game engine 133-134 and routed tothat game engine by the interface 132. Note that, although FIG. 1 showstwo game engines 133-134, implementations may use additional gameengines or may use a single game engine. As further described below,each game engine 133-134 executes video game software instructions andreceives player input data from the multiple participants of aparticular game.

[0017] Servers 130 may offer different types of games (e.g., chess,checkers, or cards) or may offer only a single game type (e.g., acheckers-only server). If a server 130 offers multiple game types, aplayer may select a desired game type before that player's input data isassociated with a particular game engine. To select a game type, theplayer may be prompted by a synthesized voice sent to a telephonehandset controller 117-119 from interface 132 or by a display on a videoterminal 114-116. The prompt can indicate that a numeric code should beentered or that a joystick or other controller 410 should be used toselect a game type. For example, a synthesized voice may announce “Enter‘1’ key to play chess, ‘2’ to play checkers, and ‘3’ to play cards”and/or the player's video display 114-116 may indicate that a joystickshould be moved up to play chess, left to play checkers and right toplay cards. In the case of a single game type server 130, selection ofthe game type can be by default.

[0018] Once a game type has been selected (by the player or by default),the player may be assigned to a game engine 133-134 based on theavailable capacity of the game engines and/or on the availability ofother game participants. Players may be assigned to a game engine usinginformation in a database 203. For example, database 203 may containrecords identifying players and/or their input data connections,selected game type information for each player, and assigned game engineinformation for players that are assigned to game engines. As eachplayer connects to the interface 132, the processor 202 can create aplayer record in the database 203 that identifies the player (and/or theplayer's data connection) and the type of game selected by that player.Players may be identified by system 130 login information such as anumeric password, by a received telephone number (e.g., via caller-IDfunctionality), by a network address, and/or by another network 150connection identifier. The processor 202 can query the database 203 todetermine if a game engine 133-134 is available for the selected gametype and, for multi-player games, to determine if a sufficient number ofadditional players are waiting to play the selected game type. If thereis an available game engine and there are sufficient players to play theselected game, the processor may assign the players (i.e., route theirinput data) to a particular game engine 133-134. If a game engine is notavailable, or additional players are needed for the selected game type,the player may be given the opportunity to wait for available playersand or system capacity. If a player chooses to wait, a record is storedin the database 203 to indicate that the player is waiting. If theplayer does not want to wait, the player may be given the opportunity toselect a different game type or to terminate the player input dataconnection to the server 130.

[0019] In some implementations, players may be able to select otherplayers to play with. Selection may be based on skill levels or otherinformation. For example, a chess player may “select” other players byentering a desired chess skill level (novice, intermediate, advanced)using controller 117-119 and the processor 202 may then match chesspartners based on skill level data in the database 203. Skill levelsdata may be automatically generated and stored in player records in thedatabase 203 based on previously played games, and/or players may beprompted to enter their skill level. Players also may be able to selectother players using codes associated with a player group. For example, aplayer may enter a predetermined group identifier and the processor 202may search database 203 for other players who have entered the sameidentifier. Players with matching group identifiers may be associatedwith the same game engine 133-134.

[0020] After a player has been associated with a game engine, thatplayer's player input data is routed from the network interface 201through a game engine interfaces 204-205 to that game engine 133-134.Game engine interfaces 204-205 can include software and/or hardware thatelectrically and logically formats the player input data from thecontrollers 117-119 into a game-engine-compatible format. Formatting ofthe player input data will depend on the game engine implementation. Insome game servers 130, each game engine may be a separate softwareprocess executing on a single multi-tasking computer system. Forexample, the game engines 133-134 may be software processes executing ona server 130 running a Windows NT® or UNIX operating system, and gameengine interfaces 204-205 may be software-implemented applicationprogramming interfaces between the game engine processes and otheroperating system processes. In other implementations, game engines133-134 may be separate hardware devices. For example, each game engine133-134 can be a consumer video game consoles, such as a SonyPlaystation®, a Nintendo 64®, or a Sega Dreamcast® video game console.In such implementations, interfaces 204-205 include hardware ports toconvert player input data signals received from the network 150 intosignals that are compatible with the controller input ports on the videogame consoles. For example, in a system using a Sony Playstation as agame engine, DTMF tones received from network 150 can be converted intoelectrical signals having the same electrical and logical format aswould be produced by a Sony Playstation game pad.

[0021] Each game engine 133-134 produces one or more output videodisplay signals. In a system 100 using television receivers 114-116, thevideo output signals can be PAL or NTSC television signals that areprovided on a video output port of a video game console-based gameengine, or by different video interface cards in a multi-taskingcomputer-based game engine. Different areas of the generated videooutput display image may be associated with different players of amulti-player game. For example, referring to FIG. 5, a 640 pixel by 480pixel output image 500 can be subdivided into four simultaneouslydisplayed 320 by 240 pixel quadrants 501-504, and different quadrant canbe associated with different players. In a card game, three of thequadrants 501-503 may be used to display cards for three differentplayers (one quadrant per player) and a fourth one of the quadrants 504may display cards of a computerized opponent. Game engines 133-134 alsomay provide different video output images for each player. For example,each game engine can be a personal computers having four video displaycards; each of the video display cards may generate a different videoimage that is associated with a different one of up to four players.

[0022] Video images generated by game engines are provided to a videonetwork interface 131 for transmission over a video transmission network140. FIG. 3 shows details of an exemplary video network interface 131.The video interface 131 converts video output signals from the gameengines into broadcast network 150 signals and provides the signals tothe network 150. In a implementation using television receivers asdisplays 114-116, each one of the converted video signals can occupy adifferent television channel, and the different channel signals may besimultaneously transmitted over a cable TV, satellite, or terrestrialtelevision broadcast network 140.

[0023] A television video interface 131 can include conversion circuitry302-303 to convert base-band (BB) video signals 305-306 received fromthe game servers 133-134 into radio-frequency (RF) signals. Eachconverter 302-303 may convert its received BB signal to a uniquetelevision channel signal. Different channels from the differentconverters 302-303 can be combined at a signal combiner 304 andtransmitted over the video transmission network 140. Players can accessthe video image associated with their game by selecting the appropriatechannel on their television 114-116. The appropriate channel may beidentified by a synthesized voice announcement that is communicated fromthe interface 132 to a telephone handset controller or by digital datasent from the interface 132 over network 150 to a controller, or may bepredetermined. A television based system 100 also can allow audiencemembers and/or other non-players to watch a game being played on thesystem 100 by selecting the appropriate game channel. Conversion ofsignals 305-306 by converters 302-303 also may be under control of asignal 135 received from the interface 132. For example, the interface132 may send a channel selection signal to RF selection circuitry 301which, in turn, controls the conversion channel used by each converter302-303.

[0024] The invention may be implemented in digital electronic circuitry,or in computer hardware, firmware, software, or in combinations of them.Apparatus of the invention may be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a programmable processor; and method steps of the inventionmay be performed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention may advantageously beimplemented in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. Each computer program may be implemented ina high-level procedural or object-oriented programming language, or inassembly or machine language if desired; and in any case, the languagemay be a compiled or interpreted language. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, a processor will receive instructions and data from aread-only memory and/or a random access memory. Storage devices suitablefor tangibly embodying computer program instructions and data includeall forms of non-volatile memory, including by way of examplesemiconductor memory devices, such as EPROM, EEPROM, and flash memorydevices; magnetic disks such as internal hard disks and removable disks;magneto-optical disks; and CD-ROM disks. Any of the foregoing may besupplemented by, or incorporated in, specially-designed ASICs(application-specific integrated circuits).

[0025] A number of embodiments of the present invention have beendescribed. Nevertheless, it will be understood that variousmodifications may be made without departing from the spirit and scope ofthe invention. For example, when a data connection is establishedbetween the controllers 117-119 and game server 130, the game server mayrequest additional data from the player before a game can be played. Theadditional data may include, among other things, authentication,billing, payment, and security data. Accordingly, other embodiments arewithin the scope of the following claims.

What is claimed is:
 1. A method of implementing a multi-player videogame, the method comprising: receiving at a game server a firstplurality of player input data connections each comprising player inputdata associated with a different one of a first plurality of players;generating a first output display image of a first multi-player game byexecuting first video game instructions at the game server to processdata derived from the first plurality of player input data connections;transmitting the first output display image over a first channel of avideo transmission network.
 2. The method of claim 1 wherein the outputdisplay image comprises a plurality of subdivisions each of which isassociated with a different one of the first plurality of player inputdata connections.
 3. The method of claim 1 wherein at least one of theplayer input data connections comprises an analog telephone connectioncomprising dual-tone multi-frequency player input data.
 4. The method ofclaim 1 wherein transmitting the first output display image furthercomprises transmitting over a network enabling reception by anon-player.
 5. The method of claim 1 wherein the first output displayimage is associated with a first one of the first plurality of playersand the method further comprises: generating a second output displayimage that is associated with a second one of the first plurality ofplayers; and transmitting the second output display image over a secondchannel of the video transmission network.
 6. The method of claim 1further comprising: receiving at the game server a second plurality ofplayer input data connections each comprising player input dataassociated with a different one of a second plurality of players;generating a second output display image of a second multi-player gameby executing second video game instructions at the game server toprocess data derived from the second plurality of player input dataconnections; transmitting the second output display image over a secondchannel of the video transmission network.
 7. The method of claim 6wherein: executing the first video game instructions comprises executingat a first game engine; and executing the second video game instructionscomprises executing at a second game engine.
 8. The method of claim 1wherein receiving the first plurality of player input data connectionscomprises receiving each of the player input data connections from adifferent player's controller.
 9. The method of claim 8 wherein at leastone player's controller comprises a telephone keypad.
 10. The method ofclaim 8 wherein receiving the first plurality of player input dataconnections comprises receiving over a network operatively coupling thegame server and the plurality of player control units.
 11. The method ofclaim 10 wherein the network comprises a telephone network.
 12. Themethod of claim 10 wherein the network comprises a packet data network.13. The method of claim 10 wherein the network comprises a network thatis different from the video transmission network.
 14. The method ofclaim 1 wherein the video transmission network comprises a videotransmission network transmitting a plurality of channels from the gameserver to a plurality of video display terminals.
 15. A method forproviding a multi-player video game comprising: generating player inputdata at a game control device based on received player input;transmitting the player input data over a network to a game server; andreceiving at a video terminal a video game image generated at the gameserver in response to the player input data and player input data fromanother player at another game control device.
 16. The method of claim15 wherein each game control device comprises a telephone keypad.
 17. Amulti-player video game server comprising: a player data interfaceoperatively coupling the game server to a network and configured toreceive game control data over the network from a plurality of gamecontrollers; a video interface coupling the game server to a videotransmission network and configured to transmit game video over thevideo transmission network; a game engine coupled to the playerinterface to receive game control data and coupled to the videointerface to provide game video for transmission by the video interface,the game engine further comprising a processor coupled to a memorycomprising multi-player video game instructions for causing theprocessor to: receive from the player interface the game control datafrom the plurality of game control devices; render game video as afunction of the game control data from the plurality of game controldevices; and output the game video to the video interface fortransmission over the video transmission network.
 18. The system ofclaim 17 wherein the instructions to render game video comprisesinstructions to render game video as a plurality of subdivisions each ofwhich is associated with different game control data.
 19. The system ofclaim 17 wherein the player data interface comprises dual-tonemulti-frequency analog telephone interface circuitry.
 20. The system ofclaim 17 wherein the video interface comprises circuitry tosimultaneously transmit different game video images to different playersof a same multi-player video game comprising the video gameinstructions.
 21. The system of claim 17 further comprising: a secondgame engine coupled to the player interface to receive game control dataassociated with a second plurality of players and coupled to the videointerface to provide second game video for transmission by the videointerface, the second game engine further comprising second multi-playervideo game instructions.
 22. The system of claim 21 wherein the secondgame engine comprises a second processor coupled to a second memorycomprising the second multi-player video game instructions.
 23. Thesystem of claim 17 wherein at least one game control device comprises atelephone keypad.
 24. The system of claim 17 wherein the networkoperatively coupled to the player data interface comprises a telephonenetwork.
 25. The system of claim 17 wherein the network operativelycoupled to the player data interface and the video transmission networkare different networks.
 26. The system of claim 17 wherein the videointerface comprises circuitry to transmit game video on a plurality ofdifferent television channels.